//package com.fmh.mybatisplus.security;
//
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.fmh.mybatisplus.comoon.vo.Const;
//import com.fmh.mybatisplus.exception.CaptchaException;
//import com.fmh.mybatisplus.utils.RedisUtil;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.filter.OncePerRequestFilter;
//
//import javax.servlet.FilterChain;
//import javax.servlet.ServletException;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//
///**
// * JWT认证过滤器
// */
//
//@Component
//public class CaptchaFilter extends OncePerRequestFilter {
//
//    @Autowired
//    RedisUtil redisUtil;
//
//    // 重写过滤流程
//    @Override
//    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
//
//        String url = request.getRequestURI();
//
//        if("login".equals(url) && request.getMethod().equals("POST")) {
//            try {
//                //校验验证码
//                validate(request);
//            } catch (CaptchaException e) {
//                e.printStackTrace();
//            }
//        }
//
//
//    }
//
//    private void validate(HttpServletRequest httpServletRequest) throws CaptchaException {
//
//        String code = httpServletRequest.getParameter("code");
//        String key = httpServletRequest.getParameter("token");
//
//        if(StringUtils.isBlank(code) || StringUtils.isBlank(key)) {
//            throw new CaptchaException("验证码错误");
//        }
//
//        if(!code.equals(redisUtil.hget(Const.CAPTCHA_KEY, key))) {
//            throw new CaptchaException("验证码错误");
//        }
//
//        redisUtil.hdel(Const.CAPTCHA_KEY, key);
//    }
//}
